Telegram Group & Telegram Channel
🧱 Для чего нужны плоские контейнеры и как их использовать

💡 В C++23 появились долгожданные «плоские» контейнеры: flat_set, flat_map, flat_multiset и flat_multimap — адаптеры, которые используют обычные векторы вместо деревьев.

❗️ Ключевые особенности:

• поиск O(log N) как в обычном set, но быстрее на практике
• итерация в разы быстрее классических контейнеров
• потребление памяти меньше на сотни процентов
• вставка и удаление катастрофически медленные O(N)

Основная идея — хранить данные в отсортированном векторе и использовать бинарный поиск. std::flat_map даже хранит ключи и значения в отдельных контейнерах для лучшей производительности.

Идеально подходят для сценариев «заполнил один раз — читаю много раз». Особенно эффективны при работе с миллионами элементов и компактными ключами.

⚠️ Не используйте их, если планируете частые вставки и удаления — в таких случаях классические std::set/map или unordered-контейнеры будут эффективнее.

🔜Статья

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/cppproglib/5770
Create:
Last Update:

🧱 Для чего нужны плоские контейнеры и как их использовать

💡 В C++23 появились долгожданные «плоские» контейнеры: flat_set, flat_map, flat_multiset и flat_multimap — адаптеры, которые используют обычные векторы вместо деревьев.

❗️ Ключевые особенности:

• поиск O(log N) как в обычном set, но быстрее на практике
• итерация в разы быстрее классических контейнеров
• потребление памяти меньше на сотни процентов
• вставка и удаление катастрофически медленные O(N)

Основная идея — хранить данные в отсортированном векторе и использовать бинарный поиск. std::flat_map даже хранит ключи и значения в отдельных контейнерах для лучшей производительности.

Идеально подходят для сценариев «заполнил один раз — читаю много раз». Особенно эффективны при работе с миллионами элементов и компактными ключами.

⚠️ Не используйте их, если планируете частые вставки и удаления — в таких случаях классические std::set/map или unordered-контейнеры будут эффективнее.

🔜Статья

Библиотека C/C++ разработчика

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tg-me.com/cppproglib/5770

View MORE
Open in Telegram


Библиотека C C разработчика | cpp boost qt Telegram | DID YOU KNOW?

Date: |

Telegram announces Anonymous Admins

The cloud-based messaging platform is also adding Anonymous Group Admins feature. As per Telegram, this feature is being introduced for safer protests. As per the Telegram blog post, users can “Toggle Remain Anonymous in Admin rights to enable Batman mode. The anonymized admin will be hidden in the list of group members, and their messages in the chat will be signed with the group name, similar to channel posts.”

Should You Buy Bitcoin?

In general, many financial experts support their clients’ desire to buy cryptocurrency, but they don’t recommend it unless clients express interest. “The biggest concern for us is if someone wants to invest in crypto and the investment they choose doesn’t do well, and then all of a sudden they can’t send their kids to college,” says Ian Harvey, a certified financial planner (CFP) in New York City. “Then it wasn’t worth the risk.” The speculative nature of cryptocurrency leads some planners to recommend it for clients’ “side” investments. “Some call it a Vegas account,” says Scott Hammel, a CFP in Dallas. “Let’s keep this away from our real long-term perspective, make sure it doesn’t become too large a portion of your portfolio.” In a very real sense, Bitcoin is like a single stock, and advisors wouldn’t recommend putting a sizable part of your portfolio into any one company. At most, planners suggest putting no more than 1% to 10% into Bitcoin if you’re passionate about it. “If it was one stock, you would never allocate any significant portion of your portfolio to it,” Hammel says.

Библиотека C C разработчика | cpp boost qt from sg


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM USA